home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs18.d81 / frcmst.sda / FRACMASTER (.txt) < prev    next >
Commodore BASIC  |  2009-10-10  |  14KB  |  435 lines

  1. 1 PRINT"[147]":PRINTSPC(15)"[198][210][193][195][205][193][211][212][197][210][154]":PRINTSPC(6)"BY [205]ARK [205]ORIARTY  9-12-88"
  2. 2 PRINT"         40 SEC. [204][207][193][196] [212][201][205][197]..."
  3. 3 PRINT"     [193]FTER LOADING PRESS [200][154] FOR [200][197][204][208]."
  4. 4 PRINT"     [208]RESS [205][154] TO RETURN TO [205][193][201][206][160][205][197][206][213]."
  5. 5 POKE56,82:POKE55,255 :POKE53280,0
  6. 10 INC=0:SX=0:SY=0:FX=0:FY=0:C1=0:C2=0
  7. 15 X2=0:Y2=0:ZZ=0:MAGZ=0:TNC=35
  8. 20 XCRN=0:YCRN=0:XGAP=0:YGAP=0:XMAX=160:YMAX=200
  9. 25 ZERO=0:WUN=1:TWO=2:FOUR=4:D1=6:D2=12
  10. 30 IF L=0THEN L=1:DIMN$(14),DT(14,7):LOAD "MLMODULE",8,1
  11. 35 IFL=1THENL=2:PX=120:PY=140:LOAD "CHARDAT",8,1
  12. 40 IFL=2THENL=3:LOAD"SPRITES",8,1
  13. 45 IFL=3THENL=4:Z1=5:Z2=2:Z3=6:LOAD"MASTER",8,1
  14. 55 IFL=5THENL=6:GOTO80
  15. 57 IFL=7GOTO2420
  16. 60 POKE56578,PEEK(56578)OR3:POKE56576,(PEEK(56576)AND252)OR2
  17. 65 POKE648,84:SYS50688:SYS50432:SYS49184
  18. 67 S$="                                        "
  19. 70 XCRN=-2:YCRN=-1.2:W=3:TYPE=3:SX=160:CS$="MASTER":QQ=0:SYS49184
  20. 80 OPEN15,8,15:PRINT#15,"I0":CLOSE15:PRINT"[142]":GOTO900
  21. 200 SYS50432:REM CLEAR BITMAP
  22. 210 SYS49152:REM MOVE VARIABLES
  23. 212 POKE50801,49:SYS50478
  24. 215 POKE53269,0
  25. 220 SYS49280:REM MAIN ALGORITHM
  26. 225 GETK$:IFK$="D"THENGOSUB2700:GOTO220
  27. 230 IFSX=160 ORK$="S"GOTO 300
  28. 300 SYS50478
  29. 310 POKE50801,74:PRINTCHR$(19);S$;S$;S$;CHR$(19)"SAVE THIS IMAGE? (Y/N)[154]"
  30. 320 GETK$:IFK$=""GOTO320
  31. 330 IFK$="Y"GOTO2100
  32. 335 IFK$="N"GOTO900
  33. 340 GOTO320
  34. 900 REM********* OPENING MENU *********
  35. 901 SYS50478:PRINTCHR$(19);S$;S$;S$
  36. 903 IFTYPE=1THENTYPE=3
  37. 905 POKE50801,74
  38. 908 IFSX<160GOTO1400
  39. 909 PRINTCHR$(19);S$;S$;S$
  40. 910 PRINTCHR$(19)"    F1 - EXPLORE THIS IMAGE       D[154]ATA"
  41. 911 IFTYPE<3THENPRINTS$:GOTO915
  42. 912 PRINTCHR$(19)"    F3 - CREATE A JULIA SET"
  43. 915 PRINTCHR$(19)"    F5 - DISK ACCESS              R[154]ES."
  44. 920 GETK$:IF K$=""GOTO920
  45. 925 IFK$="[133]"GOTO1000
  46. 928 IFK$="[134]"ANDTYPE>2THEN TYPE=1:GOTO1000
  47. 929 IFK$="[134]"ANDTYPE<3GOTO920
  48. 930 IFK$="[135]"GOTO2100
  49. 932 IFK$=""THEN XCRN=-2:YCRN=-1.2:W=3:TYPE=3:SX=160:CS$="MASTER":SYS49184
  50. 935 IFK$="D"THENGOSUB2710:GOTO920
  51. 940 IFK$="M"GOTO900
  52. 941 IFK$="H"GOTO13000
  53. 942 IFK$<>"Q"THENGOTO944
  54. 943 PRINTCHR$(19);S$;CHR$(19);"FREE RAM = "FRE(0)-(FRE(0)<0)*65536:GOTO920
  55. 944 IF K$>"0" AND K$<"7" THEN GOSUB1145:GOTO920
  56. 945 IFK$="R"THENGOSUB2800
  57. 946 GOTO900
  58. 999 STOP
  59. 1000 POKE50801,74:REM OPEN 3 TEXT LINES
  60. 1002 IF TYPE=3THENPOKE49329,37:POKE49366,44:GOTO1005:REM- MANDELBROT
  61. 1004 POKE49329,23:POKE49366,30:REM- JULIA ALGORITHM
  62. 1005 SYS 50478:REM CLEAR COLOR
  63. 1007 IFTYPE=1GOTO1025
  64. 1010 PRINT"";:PRINT"CURSOR KEYS[146]MOVE WINDOW  F1[146] DATA ON/OFF  ";
  65. 1015 PRINT"F7/F8[146] WINDOW SIZE  M[154]ENU  F5[146] DISK ACCESS ";
  66. 1020 PRINT" POSITION WINDOW,  PRESS RETURN[146] TO PLOT[154]":GOTO1035
  67. 1025 PRINT"";:PRINT"CURSOR KEYS[146]MOVE CROSS   F1[146] TEXT ON/OFF";
  68. 1030 PRINT"  M[154]ENU        F5[146]GET NEW FILE          D[154]ATA";
  69. 1033 PRINT" POSITION CROSS,  PRESS RETURN[146] TO PLOT[154]"
  70. 1035 V=53248
  71. 1040 SW=0:IFTYPE<>1THENPOKEV+21,3:GOTO1043
  72. 1041 POKEV+21,1
  73. 1043 IF TYPE=1THENPOKE22520,78:GOTO1047
  74. 1045 POKE22520,76:POKE22521,77
  75. 1047 GOTO1203
  76. 1050 POKEV+0,L1:POKEV+1,PY:POKEV+16,0+H1:POKEV+39,1
  77. 1055 POKEV+2,L2:POKEV+3,P2Y:POKEV+16,PEEK(V+16)+(2*H2):POKEV+40,1
  78. 1060 GETK$:IFK$=""ANDTEST=0GOTO1060
  79. 1063 IFK$<>""GOTO1100
  80. 1064 IFPEEK(50801)=49GOTO1080
  81. 1065 PRINTCHR$(19);S$;S$;S$
  82. 1067 XGAP=W/160:YGAP=(W/1.25)/200
  83. 1070 DX=((PX-24)/2)*XGAP+XCRN:DY=(PY-50)*YGAP+YCRN:DY=DY*-1
  84. 1071 IFTYPE<>1GOTO1076
  85. 1072 DX=DX+(2*XGAP):DY=DY-(2*YGAP)
  86. 1073 PRINTCHR$(19)TAB(13)"JULIA POINT[154]"
  87. 1074 PRINTDX", "DY:GOTO1080
  88. 1076 PRINTCHR$(19)"           WINDOW DATA[154]"
  89. 1077 PRINTCHR$(19)"TOPLEFT X,Y "DX","DY
  90. 1079 IFTYPE<>1THENPRINTCHR$(19)"WIDTH:"((SW/2)+4)*XGAP
  91. 1080 TEST=0:GOTO1060
  92. 1100 IFK$="D"THEN GOSUB 2710:GOTO1060
  93. 1101 IFK$="H"THENPOKEV+21,0:GOTO13000
  94. 1102 IFK$="R"THEN GOSUB 2800:GOTO1000
  95. 1103 IFK$="[133]"THEN GOSUB 2700:GOTO1060
  96. 1105 IFK$="[135]"THEN GOTO 2100
  97. 1110 IFK$="[157]"THEN PX=PX-1:GOTO 1200
  98. 1115 IFK$=""THEN PX=PX+1:GOTO 1200
  99. 1120 IFK$=""THEN PY=PY+1:GOTO 1200
  100. 1125 IFK$="[145]"THEN PY=PY-1:GOTO 1200
  101. 1130 IFK$="[136]"THEN SW=SW+1:GOTO 1200
  102. 1135 IFK$="[140]"THEN SW=SW-1:GOTO 1200
  103. 1137 IFK$="M"ORK$=""THENPOKEV+21,0:GOTO900
  104. 1138 IFK$=CHR$(13)THENCS$="UNNAMED":POKEV+21,0:GOTO 1300
  105. 1140 IF K$>"0" OR K$<"7" THEN GOSUB1145:GOTO1050
  106. 1143 GOTO1200
  107. 1145 POKE50801,49
  108. 1146 IF K$="1"THEN Z1=Z1+1:IF Z1>15 THEN Z1=0
  109. 1150 IF K$="2"THEN Z2=Z2+1:IF Z2>15 THEN Z2=0
  110. 1155 IF K$="3"THEN Z3=Z3+1:IF Z3>15 THEN Z3=0
  111. 1156 IFK$="4"THEN Z1=5:Z2=2:Z3=6
  112. 1157 IFK$="5"THEN GOSUB1500
  113. 1158 IFK$="6"THEN Z1=12:Z2=12:Z3=12
  114. 1160 POKE50479,(Z1*16)+Z2:POKE50484,Z3:SYS 50478
  115. 1170 RETURN
  116. 1200 TEST=1
  117. 1203 IFSW<0THENSW=0
  118. 1205 IFSW>296THENSW=296
  119. 1210 H1=INT(PX/256):L1=PX-(H1*256)
  120. 1215 H2=INT((PX+SW)/256):L2=(PX+SW)-H2*256
  121. 1220 P2Y=INT(SW/1.6)+PY
  122. 1225 GOTO1050
  123. 1300 XGAP=W/160:YGAP=(W/1.25)/200
  124. 1305 XCRN=((PX-24)/2)*XGAP+XCRN:YCRN=(PY-50)*YGAP+YCRN
  125. 1307 IF TYPE<>1 THEN GOTO1312
  126. 1309 C1=XCRN+(2*XGAP):C2=YCRN+(2*YGAP):XCRN=-1.5:YCRN=-1.2:W=3
  127. 1310 TYPE=2:GOTO1315
  128. 1312 W=((SW/2)+4)*XGAP
  129. 1315 XGAP=W/160:YGAP=(W/1.25)/200
  130. 1320 SX=0:SY=0:SYS49152:REM MOVE VARIABLES
  131. 1325 GOTO 200
  132. 1400 PRINTCHR$(19)"PLOT INCOMPLETE[146][154]"
  133. 1405 PRINT"CONTINUE PLOTTING? (Y/N)"
  134. 1410 GETK$:IFK$=""GOTO1410
  135. 1415 IFK$<>"Y"GOTO909
  136. 1420 XGAP=W/160:YGAP=(W/1.25)/200:GOTO210
  137. 1500 REM******* COLOR CYCLING *********
  138. 1505 RATE=50:POKE50801,49
  139. 1510 TMP=Z1:Z1=Z2:Z2=Z3:Z3=TMP
  140. 1515 POKE50479,(Z1*16)+Z2:POKE50484,Z3:SYS 50478
  141. 1520 FORTMP=0TORATE:NEXT
  142. 1540 GETK$:IFK$=""GOTO1510
  143. 1542 IFK$<>"5"ANDK$<>"%"THENRETURN
  144. 1544 IFK$="5"THENRATE=RATE+5
  145. 1546 IFK$="%"THENRATE=RATE-5
  146. 1548 IFRATE<1THENRATE=1
  147. 1549 IFRATE>1000THENRATE=1000
  148. 1550 GOTO1510
  149. 2100 REM******** DISK SCREEN ***********
  150. 2102 POKE53269,0:GOSUB10000
  151. 2105 POKE50801,248:GOSUB5000:GOSUB10020
  152. 2110 PRINT"[147]":FOR XX=0TO14
  153. 2115 IFN$(XX)="EMPTY"THENPRINT"";
  154. 2120 PRINT "   "N$(XX)"[154]":NEXT
  155. 2122 PRINT"";""TAB(19)"F1[146] GET THIS IMAGE"
  156. 2123 PRINT""TAB(19)"F3[146] SAVE CURRENT IMAGE"
  157. 2124 PRINTTAB(19)"F2[146] SCRATCH THIS FILE"
  158. 2125 PRINTTAB(19)"F4[146] RENAME THIS FILE"
  159. 2126 PRINT""TAB(16)"PRESS 'M' FOR MAIN MENU[154]"
  160. 2127 PRINT""TAB(16)"PRESS 'R' FOR RESOLUTION[154]"
  161. 2128 PRINTTAB(16)"PRESS 'H' FOR HELP[154]"
  162. 2130 Q=55338
  163. 2135 FORXX=0TO14:POKEQ,1:Q=Q+40:NEXT
  164. 2140 Q=(21*1024)+42:GOTO2300
  165. 2150 POKEQ+(QQ*40),62
  166. 2160 GETK$:IFK$=""THEN2160
  167. 2164 IFK$="H"GOTO13000
  168. 2165 IFK$="M"GOTO900
  169. 2167 IFK$="R"THENGOSUB2800
  170. 2170 IFK$=""ORK$="[145]"GOTO 2200
  171. 2175 IFK$="[133]"ANDN$(QQ)<>"EMPTY"GOTO2400
  172. 2177 IFK$="[135]"GOTO2100
  173. 2180 IFK$="[134]"GOTO2500
  174. 2185 IFK$="[137]"GOTO5100
  175. 2190 IFK$="[138]"GOTO5200
  176. 2200 POKEQ+(QQ*40),32
  177. 2205 IFK$="[145]"THENQQ=QQ-1:IFQQ<0THENQQ=0
  178. 2210 IFK$=""THENQQ=QQ+1:IFQQ>14THENQQ=14
  179. 2215 POKEQ+(QQ*40),62
  180. 2220 GETK$:IFK$=""ORK$="[145]"GOTO 2200
  181. 2230 IFK$=""GOTO2300
  182. 2235 GOTO2150
  183. 2300 PRINTCHR$(19)""
  184. 2305 FORXX=0TO7:PRINTS$;:NEXT
  185. 2310 PRINTCHR$(19)""
  186. 2315 IFN$(QQ)="EMPTY"THENPRINT"NO DATA - EMPTY FILE[146]":GOTO2150
  187. 2320 PRINT"TYPE:";
  188. 2323 MJ=INT(DT(QQ,0)):RS=(DT(QQ,0)-MJ)*1000
  189. 2324 IF(RS-INT(RS))>.1THENRS=INT(RS+1)
  190. 2325 IFRS=0THENRS=TNC
  191. 2330 IF MJ=3THENPRINT"MANDELBROT";:GOTO2340
  192. 2335 PRINT"JULIA";
  193. 2340 IF DT(QQ,1)<160 THEN PRINT"    INCOMPLETE PLOT[146]":GOTO2350
  194. 2345 PRINT
  195. 2350 PRINT"TOPLEFT X,Y:"DT(QQ,3)","DT(QQ,4)*-1
  196. 2360 PRINT"WIDTH:"DT(QQ,5)"  RESOLUTION:"RS
  197. 2365 IF INT(DT(QQ,0))=3 GOTO2150
  198. 2370 PRINT"JULIA POINT:"DT(QQ,6)","DT(QQ,7)*-1:GOTO2150
  199. 2400 REM ******* LOAD THIS FILE *******
  200. 2405 GOSUB10000
  201. 2410 L=7:LOAD N$(QQ),8,1
  202. 2412 OPEN 15,8,15:INPUT#15,A$,B$,C$,D$:CLOSE15
  203. 2414 IFA$<>"00"GOTO12000
  204. 2420 TYPE=INT(DT(QQ,0)):TNC=(DT(QQ,0)-TYPE)*1000:SX=DT(QQ,1):SY=DT(QQ,2)
  205. 2421 IFTNC=0THENTNC=35
  206. 2425 XCRN=DT(QQ,3):YCRN=DT(QQ,4):W=DT(QQ,5)
  207. 2430 C1=DT(QQ,6):C2=DT(QQ,7):CS$=N$(QQ)
  208. 2432 IF TYPE=3THENPOKE49329,37:POKE49366,44:GOTO2440:REM- MANDELBROT
  209. 2434 POKE49329,23:POKE49366,30:REM- JULIA ALGORITHM
  210. 2440 GOSUB10020:GOTO900
  211. 2500 REM********** SAVE FILE *********
  212. 2510 PRINTCHR$(19)""
  213. 2520 FORXX=0TO6:PRINTS$;:NEXT
  214. 2530 PRINTCHR$(19)""
  215. 2540 IFN$(QQ)="EMPTY"GOTO2570
  216. 2550 PRINT"REPLACE "N$(QQ)"[146] WITH":PRINT"CURRENT FILE? (Y/N)"
  217. 2555 GETK$:IFK$=""GOTO2555
  218. 2560 IFK$<>"Y"GOTO2215
  219. 2565 F$="@:"+N$(QQ):GOTO2600
  220. 2570 INPUT"ENTER FILE NAME";F$
  221. 2571 IFF$=""GOTO2150
  222. 2575 N$(QQ)=F$:CS$=F$
  223. 2580 GOTO2600
  224. 2600 REM****1541 PRG FILE SAVE *********
  225. 2603 GOSUB10000
  226. 2605 DT(QQ,0)=TYPE+TNC/1000:DT(QQ,1)=SX:DT(QQ,2)=SY:DT(QQ,3)=XCRN:DT(QQ,4)=YCRN
  227. 2607 DT(QQ,5)=W:DT(QQ,6)=C1:DT(QQ,7)=C2
  228. 2610 HS=96:LS=00:HE=127:LE=66:L=LEN(F$)
  229. 2620 FORX=1TOL:POKE53230+X,ASC(MID$(F$,X,1)):NEXT
  230. 2630 POKE780,4:POKE781,8:POKE782,255:SYS65466
  231. 2635 POKE780,L:POKE781,239:POKE782,207:SYS65469
  232. 2640 POKE139,LS:POKE140,HS
  233. 2645 POKE780,139:POKE781,LE:POKE782,HE:SYS65496
  234. 2650 OPEN 15,8,15:INPUT#15,A$,B$,C$,D$ :CLOSE15
  235. 2652 IFA$="00"THENGOTO2660
  236. 2655 GOTO12000
  237. 2660 OPEN8,8,8,"@:FILES,SEQ,W":CR$=CHR$(13)
  238. 2665 FORX=0TO14:PRINT#8,N$(X);CR$;
  239. 2670 FORY=0TO7:PRINT#8,DT(X,Y);CR$;:NEXT:NEXT
  240. 2675 PRINT#8:CLOSE8
  241. 2680 GOTO2100
  242. 2700 REM********* PRINT DATA **********
  243. 2705 IFPEEK(50801)=74THENSYS50478:POKE50801,49:GOTO2750
  244. 2710 POKE50801,74:PRINTCHR$(19);S$;S$;S$
  245. 2720 PRINTCHR$(19)"TITLE:[146]"CS$"[154]  WIDTH:"W"[146]"
  246. 2725 PRINTCHR$(19)"TOPLEFT X,Y:[146]"XCRN","YCRN*-1
  247. 2730 IFTYPE<>3THENPRINTCHR$(19)"JULIA PT.[146]"C1","C2*-1
  248. 2750 RETURN
  249. 2800 REM********** MAX COUNT *********
  250. 2810 POKE50801,249
  251. 2815 PRINT"[147]"
  252. 2820 PRINT"    INCREASING RESOLUTION[154] WILL INCREASE"
  253. 2825 PRINT" THE DETAIL IN AREAS CLOSE TO THE ACTUAL";
  254. 2830 PRINT" SET, (THE BLACK AREAS IN THE IMAGE)."
  255. 2835 PRINT"     THIS IS ONLY NESSESARY AT HIGH "
  256. 2840 PRINT" MAGNIFICATION (WIDTH .0001 OR LESS)."
  257. 2845 PRINT"    WARNING:[154]INCREASING RESOLUTION[154] WILL"
  258. 2855 PRINT" INCREASE THE TIME IT TAKES TO COMPLETE"
  259. 2860 PRINT" AN IMAGE."
  260. 2865 PRINT"      THE DEFAULT RESOLUTION[154] IS 35"
  261. 2867 PRINT"      THE MAXIMUM RESOLUTION[154] IS 999"
  262. 2870 PRINT"RESOLUTION  " TNC:INPUT"[145]";RESN
  263. 2875 IFRESN<1GOTO2890
  264. 2880 IFRESN>999THENPRINT"TOO HIGH - MUST BE LESS THAN 999[154]":GOTO2870
  265. 2885 TNC=INT(RESN)
  266. 2890 RETURN
  267. 5000 REM******** I/O ROUTINES *********
  268. 5005 REM**** GET FILE DRAWER *********
  269. 5006 POKE768,16:POKE769,192
  270. 5007 OPEN15,8,15:PRINT#15,"I0":IFST=-128THEN CLOSE15:GOTO5040
  271. 5008 CLOSE15
  272. 5010 OPEN 8,8,8,"FILES,SEQ,R"
  273. 5020 OPEN 15,8,15:INPUT#15,A$,B$,C$,D$
  274. 5030 IFA$="00" OR A$="62"GOTO 5060
  275. 5040 CLOSE15:CLOSE8
  276. 5045 GOSUB10020:PRINT "[147]":PRINT"     CHECK DISK - THEN PRESS ANY KEY"
  277. 5050 GET K$:IF K$=""  GOTO 5050
  278. 5055 GOSUB10000:GOTO 5000
  279. 5060 IF A$="62"THEN GOSUB 7000:GOSUB10020:GOTO 5095
  280. 5065 FOR XX=0TO14
  281. 5070 INPUT# 8,NM$
  282. 5080 N$(XX)=NM$
  283. 5085 FORYY=0TO7:INPUT# 8,A:DT(XX,YY)=A:NEXT:NEXT
  284. 5095 CLOSE15:CLOSE8:RETURN
  285. 5100 REM ******** SCRATCH FILE ********
  286. 5105 IF N$(QQ)="EMPTY"GOTO2200
  287. 5110 PRINT"[147]":PRINT"  SCRATCH "N$(QQ)"- ARE YOU SURE?  (Y/N)[154]"
  288. 5115 GETK$:IFK$=""GOTO5115
  289. 5120 IFK$<>"Y"THENGOTO2110
  290. 5122 GOSUB10000
  291. 5125 OPEN15,8,15:ME$="S0:"+N$(QQ):PRINT#15,ME$:CLOSE15
  292. 5130 N$(QQ)="EMPTY"
  293. 5135 FORY=0TO7:DT(QQ,Y)=0:NEXT
  294. 5140 GOTO2650
  295. 5200 REM ********* RENAME FILE ********
  296. 5205 IF N$(QQ)="EMPTY"GOTO2200
  297. 5207 PRINT"[147]":PRINT"      CURRENT NAME: ";N$(QQ)
  298. 5210 PRINT"[147]":INPUT"     ENTER NEW FILENAME";F$
  299. 5212 IFF$=""GOTO2200
  300. 5215 GOSUB10000
  301. 5220 OPEN15,8,15:ME$="RENAME:"+F$+"="+N$(QQ):PRINT#15,ME$:CLOSE15
  302. 5230 N$(QQ)=F$:GOTO2660
  303. 7000 REM******** CLEAR ARRAY **********
  304. 7010 FOR XX = 0TO14
  305. 7020 N$(XX)="EMPTY"
  306. 7030 FORYY=0TO7:DT(XX,YY)=0:NEXT:NEXT
  307. 7040 RETURN
  308. 10000 REM******* BLANK SCREEN *********
  309. 10010 POKE50806,43:POKE50807,11:POKE50808,43
  310. 10015 RETURN
  311. 10020 REM***** UNBLANK SCREEN *********
  312. 10025 POKE50806,59:POKE50807,27:POKE50808,59
  313. 10030 RETURN
  314. 12000 REM******** DISK ERROR **********
  315. 12005 GOSUB10020
  316. 12010 PRINT"[147]";:PRINT""TAB(10)"DISK ERROR[154]"
  317. 12020 PRINT""TAB(10)B$
  318. 12030 PRINT""TAB(10)"PRESS ANY KEY TO CONTINUE"
  319. 12040 GETK$:IFK$=""GOTO12040
  320. 12050 GOTO2100
  321. 13000 REM*********** HELP *************
  322. 13010 POKE50801,249
  323. 13015 PRINT"[147]":PRINT"";
  324. 13020 PRINTSPC(11)"O[146]VERVIEW"
  325. 13022 PRINTSPC(11)"E[146]XPLORING AN IMAGE"
  326. 13024 PRINTSPC(11)"C[146]REATING A JULIA SET"
  327. 13026 PRINTSPC(11)"S[146]AVING AN IMAGE"
  328. 13028 PRINTSPC(11)"R[146]ETRIEVING AN IMAGE"
  329. 13030 PRINTSPC(11)"H[146]INTS AND TIPS"
  330. 13032 PRINTSPC(11)"M[146]AIN MENU"
  331. 13034 GETK$:IFK$=""GOTO13034
  332. 13036 IFK$="O"GOTO13100
  333. 13038 IFK$="E"GOTO13200
  334. 13040 IFK$="C"GOTO13300
  335. 13042 IFK$="S"GOTO13400
  336. 13044 IFK$="R"GOTO13500
  337. 13046 IFK$="H"GOTO13600
  338. 13048 IFK$="M"GOTO900
  339. 13050 GOTO13034
  340. 13100 PRINT"[147]":PRINTSPC(15)"OVERVIEW[154]"
  341. 13110 PRINT"   THE OPENING IMAGE OF THIS PROGRAM IS"
  342. 13115 PRINT"THE MANDELBROT SET[154] (THE BLACK INSIDE"
  343. 13120 PRINT"AREA), AND ITS BORDER(THE COLORED AREA).
  344. 13125 [153]"   THE BORDER IS FILLED WITH PATTERNS"
  345. 13130 [153]"THAT INCEASE IN VARIETY AND COMPLEXITY"
  346. 13135 [153]"THE MORE THEY ARE MAGNIFIED. ANY PART"
  347. 13140 [153]"OF THE BORDER CAN BE ENLARGED AND ANY"
  348. 13145 [153]"PART OF THE RESULTING IMAGE CAN BE EN-"
  349. 13150 [153]"LARGED AD INFINITUM.
  350. 13155 PRINT"   JULIA SETS[154] ARE CREATED BY PICKING"
  351. 13160 PRINT"A POINT ON OR NEAR THE BORDER. THE RE-"
  352. 13165 PRINT"SULTING IMAGE CAN THEN BE EXPLORED THRU"
  353. 13170 PRINT"ENLARGING LIKE THE MANDELBROT IMAGES."
  354. 13175 PRINT"THERE ARE AN INFINITE NUMBER OF JULIA"
  355. 13180 PRINT"SETS."
  356. 13185 PRINT"   THESE IMAGES MAY TAKE A LONG TIME TO"
  357. 13190 PRINT"COMPLETE, BUT UNFINISHED IMAGES CAN BE"
  358. 13195 PRINT"SAVED AND CONTINUED LATER.(SEE HINTS)."
  359. 13196 GETK$:IFK$=""GOTO13196
  360. 13197 GOTO13000
  361. 13200 PRINT"[147]":PRINT"           EXPLORING AN IMAGE[154]"
  362. 13205 PRINT"    CHOOSE THE  'EXPLORE THIS IMAGE'"
  363. 13210 PRINT"OPTION FROM THE MAIN MENU. A SMALL WHITE";
  364. 13215 PRINT"WINDOW WILL APPEAR. THE SIZE CAN BE "
  365. 13220 PRINT"ADJUSTED USING F7/F8[146]. POSITION THE"
  366. 13225 PRINT"WINDOW USING THE CURSOR KEYS[146]. WHEN YOU"
  367. 13230 PRINT"MOVE THE WINDOW OR CHANGE ITS SIZE THE"
  368. 13235 PRINT"TEXT AREA AT THE TOP OF THE SCREEN WILL"
  369. 13240 PRINT"SHOW THE WINDOW POSITION AND WIDTH. USE"
  370. 13245 PRINT" A WIDTH OF .3 OR MORE THE FIRST TIME."
  371. 13250 PRINT"PUT THE WINDOW OVER THE AREA TO ENLARGE"
  372. 13255 PRINT"AND PRESS RETURN[146] TO START PLOTTING."
  373. 13260 PRINT"    THE CLOSER YOU GET TO THE BLACK AREA";
  374. 13265 PRINT"THE LONGER IT WILL TAKE TO COMPLETE AN"
  375. 13270 PRINT"IMAGE, BUT THIS IS ALSO THE MOST COMPLEX";
  376. 13275 PRINT"AND INTRESTING AREA OF THE MANDELBROT"
  377. 13280 PRINT"AND JULIA SET BORDERS."
  378. 13285 GETK$:IFK$=""GOTO13285
  379. 13290 GOTO13000
  380. 13300 PRINT"[147]":PRINT"           CREATING A JULIA SET[154]"
  381. 13305 PRINT"  CHOOSE THIS OPTION FROM THE MAIN MENU."
  382. 13310 PRINT"NOTE:[146]IF THIS OPTION DOES NOT APPEAR, THE";
  383. 13315 PRINT"IMAGE ON THE SCREEN IS A JULIA SET. YOU"
  384. 13320 PRINT"CANNOT CREATE A JULIA SET FROM A JULIA"
  385. 13325 PRINT"SET.":PRINT"     A SMALL CROSS WILL APPEAR ON THE"
  386. 13330 PRINT"SCREEN. POSITION THE CROSS ON OR NEAR"
  387. 13335 PRINT"THE BORDER OF THE MANDELBROT SET WITH"
  388. 13340 PRINT"THE CURSOR KEYS[146]. PRESS RETURN[146] TO START."
  389. 13345 GETK$:IFK$=""GOTO13345
  390. 13350 GOTO13000
  391. 13400 PRINT"[147]":PRINT"            SAVING AN IMAGE[154]"
  392. 13405 PRINT"     IF AN IMAGE IS BEING PLOTTED, THEN"
  393. 13410 PRINT"PRESS AND HOLD DOWN ANY KEY UNTIL THE"
  394. 13415 PRINT"PROMPT 'SAVE THIS[160]IMAGE (Y/N)' APPEARS."
  395. 13420 PRINT"   PRESS 'Y' TO GET TO THE DISK ACCESS[146]"
  396. 13425 PRINT"SCREEN. USE THE CURSOR KEYS[146] TO MOVE"
  397. 13430 PRINT"THE POINTER TO 'EMPTY[154]' AND PRESS   F3 [146],"
  398. 13435 PRINT"OR POINT AT ONE OF THE FILENAMES ON THE"
  399. 13440 PRINT"LIST AND PRESS F3[146] IF YOU WANT TO REPLACE";
  400. 13445 PRINT"THAT FILE WITH THE CURRENT IMAGE."
  401. 13450 GETK$:IFK$=""GOTO13450
  402. 13455 GOTO13000
  403. 13500 PRINT"[147]":PRINT"          RETRIEVING[160]AN IMAGE[154]"
  404. 13505 PRINT"     PRESS  F5[146] AT ANY MENU SCREEN TO"
  405. 13510 PRINT"GET TO THE DISK ACCESS[146] SCREEN. POSITION"
  406. 13515 PRINT"THE POINTER USING THE CURSOR KEYS[146] TO THE";
  407. 13520 PRINT"NAME OF THE IMAGE YOU WANT. DATA ABOUT"
  408. 13525 PRINT"THE IMAGE IN QUESTION WILL BE DISPLAYED"
  409. 13530 PRINT"AT THE BOTTOM OF THE SCREEN."
  410. 13535 PRINT"      PRESS   F1 [146] TO VIEW THE IMAGE."
  411. 13540 GETK$:IFK$=""GOTO13540
  412. 13545 GOTO13000
  413. 13600 PRINT"[147]";:PRINT"             HINTS AND TIPS[154]"
  414. 13605 PRINT"     TO SAVE AN IMAGE THAT IS NOT DONE"
  415. 13610 PRINT"PLOTTING, PRESS AND HOLD ANY KEY UNTIL"
  416. 13615 PRINT"THE 'SAVE THIS IMAGE' PROMPT APPEARS."
  417. 13620 PRINT"     TO CONTINUE AN INCOMPLETE IMAGE"
  418. 13625 PRINT"RETRIEVE THE IMAGE FROM THE DISK ACCESS[146]"
  419. 13630 PRINT"SCREEN AND YOU WILL SEE A PROMPT ASKING"
  420. 13635 PRINT"'CONTINUE PLOTTING (Y/N)'."
  421. 13640 PRINT"     SINCE SOME IMAGES REQUIRE A LONG"
  422. 13645 PRINT"TIME TO COMPLETE, I TURN OFF MY MONITOR"
  423. 13650 PRINT"AND MY DISK DRIVE AND LET THE COMPUTER"
  424. 13653 PRINT"RUN AT NIGHT!"
  425. 13655 PRINT"     IF THERE ARE LARGE BLACK AREAS IN"
  426. 13660 PRINT" YOUR IMAGES USE THE RESOLUTION[154] FUNCTION";
  427. 13665 PRINT"AVAILABLE FROM THE DISK ACCESS[146] SCREEN."
  428. 13670 PRINT"     WHEN VIEWING AN IMAGE, TRY USING"
  429. 13675 PRINT"THE 1-6 KEYS!"
  430. 13680 PRINT"    CLR/HOME[154] WILL RETURN YOU TO THE"
  431. 13685 PRINT"START SCREEN, BUT THIS WILL ERASE THE"
  432. 13687 PRINT"IMAGE CURRENTLY IN MEMORY.";
  433. 13690 GETK$:IFK$=""GOTO13690
  434. 13695 GOTO13000
  435.